﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SqliteDAL.Model
{
    /// <summary>
    /// 项目管理 
    /// </summary>
    [Table("T_Projects")]
    public class Projects :BaseModel
    {
        public string Manufacturer { get; set; } = string.Empty;//厂家（必要性？）
        public string ProjectPriority { get; set; } = string.Empty;//项目优先级 Encoding
        public string ProjectType { get; set; } = string.Empty;//项目类型(一步法、一步半法、二步法，牵扯到拼板，一步半的和两步的不能拼到一起)

        #region 样本加样参数
        public double SampleSizeOne { get; set; }//首次加样量
        public bool IsTwoAddSample { get; set; }//是否二次加样
        public double SampleSizeTwo { get; set; }//二次加样量
        #endregion

        #region 样本稀释参数
        public string DilutionMode { get; set; } = string.Empty;//稀释方式 Encoding  板内 板外
        public string DilutionRatioOne { get; set; } = string.Empty;//一级稀释比例
        public string DilutionRatioTwo { get; set; } = string.Empty;//二级稀释比例
        public string DilutionRatioThree { get; set; } = string.Empty;//三级稀释比例
        #endregion

        #region 孵育、震荡参数
        public int IncubationTime { get; set; }//孵育时间
        public int IncubationTemperature { get; set; }//孵育温度（温度需要有上限和下限）
        public int IncubatioOscillationFrequency { get; set; }//振荡频率
        public int IncubatioOscillationTime { get; set; }//震荡时间
        #endregion

        #region 洗板参数
        public string CleanAgent { get; set; } = string.Empty;//清洗剂名称
        public string WashingType { get; set; } = string.Empty;//一点洗（只在右侧)、二点洗（长管左                                              右）、三点洗（）
        public int WashingSizeOne { get; set; }//首次洗板液容量 (300~350ul)
        public int SuctionTime { get; set; }//吸液时间（必要性？）
        public int FillingTime { get; set; }//注液时间（必要性？）
        public int RestingTime { get; set; }//静置时间
        public int DelayTime { get; set; }//延时时间(下次清洗是什么时间,最多1到10)   
        public bool IsTwoWashing { get; set; }//是否2次清洗
        public int WashingSizeTwo { get; set; }//2次洗板液容量 
        #endregion

        #region 试剂参数
        public string ReagentNameOne { get; set; } = string.Empty;//首次加入试剂名
        public int ReagentSizeOne { get; set; }//首次加入试剂容量
        public string ReagentTypeOne { get; set; } = string.Empty;//首次加入试剂类型（必要性？）
        public string ReagentNameTwo { get; set; } = string.Empty;//2次加入试剂名
        public int ReagentSizeTwo { get; set; }//2次加入试剂容量
        public int ReagentTypeTwo { get; set; }//2次加入试剂类型（必要性？）
        #endregion

        #region 读数参数
        public int MainWavelength { get; set; }//主波长
        public int Subwavelength { get; set; }//次波长
        public bool IsVibrate { get; set; }//是否震荡
        public int ReadOscillationFrequency { get; set; }//振荡频率
        public int ReadOscillationTime { get; set; }//震荡时间
        #endregion

    }
}
